This application is a Non-Provisional of U.S. Patent Application Ser. No. 61/391,245 filed Oct. 8, 2010 entitled “Symmetric, Differential Nonvolatile Memory Cell”, the contents of which are herein incorporated by reference in their entirety.-
There are many different types of memory used to store data. One type of memory is Electrically Erasable Programmable Read-Only Memory (EEPROM), which is used in many electronic products (e.g., to store calibration and customer specific data for industrial and automotive sensors). EEPROM cells are said to be non-volatile, because the data contents remain there even if power is disconnected from the cells.
Even though EEPROM cells tend to be non-volatile, the charge stored in a given EEPROM cell can change as the cell is repeatedly programmed and/or erased, due to cell degradation. For example, FIG. 1 shows a threshold/read-out voltage, which corresponds to a charge stored in a number of memory cells, as the cells are programmed and erased (i.e., cycled, 1 cycle is 1× Program and 1× Erase) up to several thousand times. Some of the cells store a first data state (e.g., a “1” or “programmed” data state), which is defined by voltage threshold window 104. When read during cycling, the cells programmed to the first state provide a threshold voltage 102, which varies over the number of cell cycles. Other cells store a second data state (e.g., a “0” or “erased” data state), which is defined by voltage threshold window 108. When read during cycling, the cells erased to the second state provide a threshold voltage 106, which varies over the number of cell cycles.
Unfortunately, as can be seen from FIG. 1, the charges stored in the cells tend to “wander” as a function of the number of times the cells are programmed and erased or cycled. For instance, when cells are first accessed at time 110, individual cells' voltage thresholds 102, 106 reside well within the first and second voltage windows 104, 108, respectively. However, by the ten-thousandth cycle at 112, the charges stored in the cells will not be the same as at 110 due to cell degradation, causing some cells which were intended to be “erased” to have voltage thresholds 106 that fall outside of the second voltage threshold window 108. Further, in the illustrated example, at higher cycle counts, the threshold voltages 102 for programmed cells tends to increase (i.e., cells become programmed “more strongly” for higher cycle counts); but the threshold voltage 106 for erased cells tends to decrease (i.e., the cell becomes erased “more weakly” for higher-cycle counts). The ideal case would be if the voltage threshold curves 102, 106 remain constant in the middle of the voltage threshold windows 104, 108, respectively, but the case when curve 102 increases slightly and the curve 106 decreases slightly is acceptable, too.
Whatever the case, because cells are normally read by using a reference cell that does not take into account different levels of wander, a heavily-cycled memory cell can yield different data values from a “fresh” cell, even if both cells actually store the same data. For example, even if a lower data state (e.g., “0” data state) was written to a heavily-cycled cell, a read operation of the cell (which compares the voltage level correspondent to the charge stored in the access cell to a reference cell) may incorrectly determine that the cell stores an upper data state (e.g., “1” data state). The worst case appears if cell degradation causes both curves 102, 106 to become closer or even cross. In the latter case it is clearly no longer possible to make an accurate determination of whether a given cell is in a programmed or erased state.
Therefore, the inventors have devised techniques for making a memory cell more resistant to cell degradation, thereby helping to ensure reliable data storage.